package com.ruoyi.bussine.service.integration;


import com.ruoyi.bussine.domain.dto.wechat.*;

import java.util.Map;

public interface WeChatService {
    /**
     * 小程序登录
     * @param weChatLoginDTO
     * @return
     */
    Jscode2sessionRespDTO getSessionByCode(Jscode2sessionReqDTO weChatLoginDTO);

    /**
     * 获取token
     * @param programBaseInfoDTO
     * @return
     */
    WeChatTokenRespDTO getToken(MiniProgramBaseInfoDTO programBaseInfoDTO);

    /**
     * 获取小程序链接
     * @param accessToken
     * @param weChatUrlLinkReqDTO
     * @return
     */
    String generateUrlLink(String accessToken, WeChatUrlLinkReqDTO weChatUrlLinkReqDTO);
    byte[] getwxacodeunlimit(String accessToken, Map<String, Object> jsonMap);

    /**
     * 该接口用于将code换取用户手机号。 说明，每个code只能使用一次，code的有效期为5min
     * @param accessToken
     * @param code
     * @return
     */
    String getUserPhoneNumber(String accessToken, String code);

    /**
     * 微信订单发货
     */
    void sendOrder(String accessToken, ShippingInfoReqDTO shippingInfoReqDTO);
}